Typically, when players compete in an online electronic game, there is little question about the results. If the software executed by each player participating in a game reports results to a gaming service, the results reported by each player's game console or computing device should be identical. However, various problems can cause different results to be reported by different game consoles. For example, a player's game console can be disconnected from the network or otherwise become unable to communicate with the game consoles being used by at least some of the other players participating in the game through no fault of the player. As a result, the online game software running on that player's game console may determine that the other players have disconnected from the game session and not report results for the players on the game console(s) with which communication was lost. If communication was lost with all other game consoles, but not the gaming service, the online game software executed on the player's game console will conclude that the player is the winner by default. Similarly, the online game software executing on the other players' game consoles will likely determine that the player on the game console with which communications was lost simply decided to stop playing the game and will award the winning slot to a different player who has remained in communication.
Indeed, the disconnection of a game console may be intentional. A player may become disheartened during the game session because the player is losing badly. The loss of reputation and standing in the gaming community may provide considerable incentive for a player to simply disconnect or even cheat during a game session in an attempt to avoid a loss in the game session from being reported against the player. In this case, the other players will report that the disconnected player has stopped playing. The player who quit may assert that network conditions precluded the player from communicating, and may even assert that all of the other players quit the game session. Clearly, such behavior should be detected so that erroneous results are not recorded for the game session.
Of greater concern are acts committed by a player to cheat when playing an online game that are intended to cause the cheating player to be viewed as a winner. Certain techniques used by a cheating player may cause the online game software running on the cheating player's game console to conclude that the cheating player is the winner of the game session and to report erroneous results to a gaming service. The game consoles used by non-cheating players will report different results.
There are various techniques that can be used to cheat during an online game. For example, a player can use another personal computer (PC) to flood one or more other players' Internet addresses with data packets—a technique which is called “packet bombing.” To be successful in this manner of cheating, the cheating player must have a substantially greater upload bandwidth than the download bandwidth of the player being packet bombed. The flood of incoming data packets prevents the player being packet bombed from receiving and sending transmission control protocol (TCP) data from either the gaming service or other players. Since successful communication from an affected player's game console to the gaming service using TCP requires an acknowledgement to be received from the gaming service, the packet bombing affectively interrupts all TCP communications. The cheating player intends that the player being packet bombed will appear to have disconnected from the game session, so that the affected player will not have any chance of winning, and so that other players' game consoles will indicate that the player being packet bombed appeared to quit the game session before it was finished.
Another type of cheating can occur if a player employs a network traffic analyzer to apply selective packet filtering to block traffic from other players, so that it seems the other players have disconnected from the online game session. The cheating player's software will then report to the gaming service that the cheater has won because the player(s) who were filtered failed to finish the game. Because the software on the game consoles of the other players who are blocked by the packet filter will perceive that the cheating player has stopped communicating and has apparently dropped out of the game, the game software on these other game consoles will report game results indicating that the cheating player disconnected and did not finish the game. As a result, the gaming service receives very different reports from the game consoles at the end of the game session.
While a cheating player may also hack (modify) game software to cause it to report an erroneous result or to provide some advantage to the player using the hacked game software, it is possible for the gaming service to detect modified software to prevent this form of cheating. In any case, it is probably not possible to stop all forms of cheating by an online game player. However, it should be possible to identify players who consistently are involved in game sessions where different results are reported by participating players, likely as a result of cheating, so that the players who consistently cheat can eventually be identified and steps taken to either prevent them from using the online gaming service to play online games. At the very least, the gaming service may choose to regard any results that players who have been identified as cheaters report as suspect, so that much less weight is applied to their reports than to the reports of other players who have not been identified as potential cheaters.
Thus, the problem of determining the results for a game session that should be accepted as the final official results needs to be addressed so that players are not left with an indefinite conclusion to a game session. Also, if possible, it would be desirable to detect whether a player has simply disconnected from a game session, or has been the subject of a packet bombing (flooding) attack that prevented the player from communicating with other players during a game session, or with a gaming service to report the results at the end of the game session. These and other functions should be implemented by the gaming service in cooperation with online games that are written so as to assist the gaming service in this endeavor.
Correctly determining the official results of a game session is particularly important in tournaments, where one player in a match must expeditiously be declared a winner in a game session in order to advance in the standings of the tournament and be matched with another player for the next level of play. Errors or delays in determining the official results will adversely impact on the quality of play by all players and may cause subscribers to a gaming service to become dissatisfied. If only two players (or two groups of players) are competing in a tournament or other online game, and if two or more different results are reported, it is very important that the gaming service have an appropriate procedure in place for deciding the results that will be accepted as the official results for the game session.
It would be preferable to track the history of each player using data maintained by the online gaming service to determine whether a player is likely cheating, based upon the history for the player and involvement in previous games sessions where problems arose because different results were reported or other issues concerning the play of the online game have arisen, and to employ the historical data for each player competing when determining the results to accept as the official results for an online game session. Currently, online gaming services tend to essentially “flip a coin” or use some other random solution in determining a winner when game session results reported by players or game consoles are inconsistent or differ. Accordingly, a more refined approach in making such determinations should result in a more equitable solution and enable appropriate action to be taken in regard to players identified as cheaters, particularly, when it appears that the players may have been packet bombing or applying a filter to disrupt the communications of other players during a game session.